package com.ctshk.rpc.order.custom.req.tourist;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDate;
import java.util.List;


/**
 * <p>
 * 添加旅客 req
 * </p>
 *
 * @author 叶冠峰
 * @since 2021-02-25
 */
@Data
@ApiModel(value="添加旅客 req", description="添加旅客 req")
public class CustomOrderTouristInfoAddReq implements Serializable {

    @NotNull(message = "订单ID不能为空")
    @ApiModelProperty(value = "所属订单",required = true)
    private Long orderId;

    @ApiModelProperty(value = "用户Id")
    private Long userId;

    @NotNull(message = "游客类型主数据ID不能为空")
    @ApiModelProperty(value = "游客类型主数据ID",required = true)
    private Long mainDataId;

    @ApiModelProperty(value = "游客类型名称")
    private String touristTypeName;

    @ApiModelProperty(value = "团期ID")
    private Long scheduleId;

    @ApiModelProperty(value = "套餐记录ID")
    private Long touristPriceId;

    /*@ApiModelProperty(value = "套餐ID")
    private Long packageId;*/

    @ApiModelProperty(value = "中文姓")
    private String cnSurname;

    @ApiModelProperty(value = "中文姓名")
    private String cnName;

    @ApiModelProperty(value = "英文姓")
    private String enSurname;

    @ApiModelProperty(value = "英文名称")
    private String enName;

    @NotNull(message = "性别不能为空")
    @ApiModelProperty(value = "性别",required = true)
    private Integer gender;

    @ApiModelProperty(value = "国籍")
    private String nation;

    @ApiModelProperty(value = "国籍Id")
    private Long nationId;

    @ApiModelProperty(value = "电话区号")
    private String mobileAreaCode;

    @ApiModelProperty(value = "联系方式")
    private String mobile;

    @ApiModelProperty(value = "邮箱")
    private String email;

    @ApiModelProperty(value = "备注")
    private String remark;

    @NotNull(message = "证件项不能为空")
    @ApiModelProperty(value = "证件项",required = true)
    List<CustomOrderTouristInfoAddCertificateReq> certificateList;

    /*@ApiModelProperty(value = "证件项2")
    CustomOrderTouristInfoAddCertificateReq certificate2;

    @ApiModelProperty(value = "证件项3")
    CustomOrderTouristInfoAddCertificateReq certificate3;*/

    @ApiModelProperty(value = "紧急联系人姓名")
    private String emergencyContactName;

    @ApiModelProperty(value = "紧急联系人电话区号")
    private String emergencyMobileAreaCode;

    @ApiModelProperty(value = "紧急联系人电话")
    private String emergencyMobile;

    @NotNull(message = "出生日期不能为空")
    @ApiModelProperty(value = "出生日期",required = true)
    private LocalDate birthday;

    @NotNull(message = "是否应用全部不能为空")
    @ApiModelProperty(value = "是否应用全部（1是，2否）")
    private Integer isApplyAll;
}
